package com.zhsh.generator.template.engine;

import com.zhsh.generator.template.config.ContextConfig;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zhangshuo19
 * @description 模板处理器
 * @date 2020-02-24 16:25
 **/
public class TemplateHandle {

    /**
     * 配置模板参数
     */
    public void createTemplate () {
        ContextConfig contextConfig1 = new ContextConfig();
        contextConfig1.setModuleName("partner");
        contextConfig1.setBizChName("合伙人拜访任务表");
        contextConfig1.setBizEnName("partnerUser");

        ContextConfig contextConfig2 = new ContextConfig();
        contextConfig2.setModuleName("partner");
        contextConfig2.setBizChName("合伙人拜访详情表");
        contextConfig2.setBizEnName("partnerVisitDetail");

        ContextConfig contextConfig3 = new ContextConfig();
        contextConfig3.setModuleName("partner");
        contextConfig3.setBizChName("合伙人拜访详情文件表");
        contextConfig3.setBizEnName("partnerVisitFile");

        ContextConfig contextConfig4 = new ContextConfig();
        contextConfig4.setModuleName("partner");
        contextConfig4.setBizChName("合伙人绑定客户表");
        contextConfig4.setBizEnName("partnerBindbuyer");

        ContextConfig contextConfig5 = new ContextConfig();
        contextConfig5.setModuleName("partner");
        contextConfig5.setBizChName("合伙人绑定客户地勤审核表");
        contextConfig5.setBizEnName("partnerBindBuyerAudit");

        List<ContextConfig> configList = new ArrayList<>();
        configList.add(contextConfig1);
        configList.add(contextConfig2);
        configList.add(contextConfig3);
        configList.add(contextConfig4);
        configList.add(contextConfig5);

        for (ContextConfig config : configList) {
            this.startExecute(config);
        }
    }

    /**
     * 开始生成模板
     * @param contextConfig
     */
    private void startExecute(ContextConfig contextConfig) {
        contextConfig.setTemplateFilePrefix("com.jd.jying");
        contextConfig.setProjectPath("src\\");
        AbstractGunsTemplateEngine gunsTemplateEngine = new SimpleTemplateEngine();
        gunsTemplateEngine.setContextConfig(contextConfig);
        gunsTemplateEngine.start();
        System.out.println("==========================================");
    }

}
